<?php
/**
 * <https://y.st./>
 * Copyright © 2018 Alex Yst <mailto:copyright@y.st>
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <https://www.gnu.org./licenses/>.
**/

$xhtml = array(
	'<{title}>' => '<code>minequest</code> improves',
	'<{body}>' => <<<END
<section id="Minetest">
	<h2>Minetest log</h2>
	<p>
		I apologise for being vague yesterday about the plan.
		A coworker was supposed to contact me last night about a thing (personal, don&apos;t worry about it) that they wanted me to help with today, but they never did.
		I needed to rush my journal entry to get some sleep, but it looks like that wasn&apos;t necessary.
		They didn&apos;t even call it off, they just left me hanging.
	</p>
	<p>
		Anyway, the plan for <code>minequest</code> was to set up a two-step process for choosing your bonus abilities.
		In the first step, you put a countable item into a slot; the copuntable item is then referred to as an &quot;element&quot;.
		Next, you put something that has been crafted from that element (or another of the element itself) into a freshly-opened deck slot to get the bonus ability.
		A mechanism for allowing items to specify that they&apos;re an alternate form of another item was to be implemented, and this was to be used in addition to crafting recipes to figure out the elemental composition of all defined items.
		Items with an elemental composition but no defined bonus ability were to now be allowed in the deck slots, but instead of showing that item&apos;s non-existent ability icon, a question mark icon was to be displayed.
		All of this has now been implemented.
		The main thing that <strong>*hasn&apos;t*</strong> been implemented is the movement of items between the deck and elemental slots.
		Items can be moved in from the player&apos;s main inventory or back out to the inventory, but they can&apos;t be directly transferred between slots used by this mod.
		The problem is that the movement rules are complex and I keep having to gut the code.
		I&apos;m going to be <strong>*so*</strong> frustrated if I encode the rules in a form the game can understand and I end up having to gut the code again and scrap the rule-encoding.
		So I&apos;m just disallowing all movement between slots for now.
		All legal moves can still be achieved using only one extra step, and when I&apos;ve had time to stabilise the code better, I&apos;ll write up the rules properly.
	</p>
	<p>
		Okay.
		So.
		As I kind of touched upon that as a possibility yesterday, this plan of action just removed my option to have bonus abilities that aren&apos;t tied to a particular stat.
		This removes some of the items I need to define abilities for, but also removes some ability ideas I&apos;d come up with, as they&apos;re more binary in nature.
		You either have them or you don&apos;t; there&apos;s no concept of &quot;levelling&quot; them.
		For example, I wanted an item to provide access to a sort of shared inventory between all players that used that item in their decks.
		That is no longer a possibility.
		Some easy bonuses aren&apos;t available now either, such as the portable furnace when using a furnace in your deck.
	</p>
	<p>
		Of particular frustration to me are a couple of my own mods that define items.
		<code>renew</code> defines the grinder and compost.
		What kind of bonus do I provide for <strong>*compost*</strong>?
		The grinder&apos;s ability should obviously be a portable form of what it does when placed into the world.
		How do I provide level-up benefits for <strong>*that*</strong>!?
		Most frustrating is my <code>blockprotectnodes</code> mod.
		The nodes deal with anti-vandalism, so obviously the bonus should in some way.
		However, anti-vandalism is a serious matter and should not in any way have any of its features be dependant on level-up mechanisms; all players should have equal opportunity to have their stuff protected once they craft the nodes.
		These two ideals are at <strong>*direct odds*</strong> with each other.
		How can I possibly satisfy both?!?
		So anyway, supporting my mod within my own mods is going to be a challenge, as I don&apos;t tend to take node definition lightly; I don&apos;t define nodes without good reason, so the node I <strong>*do*</strong> define tend to either important or have strange qualities.
		I&apos;m not yet at the stage where I need to deal with supporting these nodes yet, as I don&apos;t even have my proof-of-concept built, but by the time this thing releases as stable, I&apos;ll need to have solved this problem.
	</p>
	<p>
		I&apos;ve also revisited my decisions in how to renew materials using <code>renew</code>, with an emphasis this time on what items it allows me to add support for in <code>minequest</code>-related mods.
		Before, I was trying to turn clay into something countable for <code>minequest</code>.
		I don&apos;t recall the exact reason why it was going to help.
		This time though, I&apos;m just looking at what items can even be placed into the ability deck at all after I&apos;ve added renewability.
		Clay, for example, can be used with iron or any sapling, so I&apos;m leaving it as I had it before.
		I didn&apos;t do an in-depth search, but in particular, I noticed that sand (all varieties), desert stone, and water lilies were given renewability, but not an element.
		I don&apos;t see a way to associate water lilies with an element.
		It&apos;s just not going to happen.
		Desert stone would be a challenge.
		I&apos;m not sure I could find a clean way, but in the future, maybe I will.
		As for sand ... I&apos;ve tried numerous times to come up with something, and I&apos;ve had all sorts of crazy ideas, but I didn&apos;t have anything solid until today.
		Now I don&apos;t need to have the grinder in <code>renew</code>.
		It was there because it needed to be, but it doesn&apos;t really fit in.
	</p>
	<p>
		I had a lot of time to think today while away from my computer, unable to work on actually implementing anything.
		I came up with three distinct plans for changing sand into a countable item, each more refined than the last.
		In my final draft for the day, lava is no longer able to harden into desert stone; it always cools into stone or a mineral.
		Cobble already drops gravel in <code>renew</code>, but in this new version, it&apos;ll additionally drop silver sand whenever it does.
		I guess the sand accounts for the missing stone to allow for air between the rocks in the gravel.
		Four silver sand can be crafted with one iron lump to give all four that reddish desert sand colour.
		If eight sand are crafted with the iron lump, eight mid-tone sand are gotten instead.
		Silver sand and desert sand can likewise be crafted together to get the mid-tone sand.
		Finally, desert sandstone can be smelted into desert stone, and for consistency, silver sandstone can be cooked into grey stone.
		The main benefit of all this, of course, is the removal of that grinder.
		It doesn&apos;t belong in that simple renewal mod.
		However, this also pulls everything made of sand and stone of any type into the list of items I can support in <code>minequest</code>.
		I do have two complaints still though.
		This necessarily ties the silver sand stat to the gravel stat.
		The twinned stats are redundant, strictly speaking.
		Also, again because of the twinning, this makes the automated background chooser will chose the same node to use as a background for both drops.
		The issue of the redundant stat is something I can live with.
		As for the duplicated background, all I have to do is override the autochooser&apos;s choice, which I&apos;m already doing for cotton, wheat, cotton seed, and wheat seed.
	</p>
	<p>
		I think the only thing left that I&apos;ve given renewability to without making tied to at least one element is the water lilies I mentioned.
		As said before, I&apos;m firmly of the opinion that those can&apos;t be tied to an element in a non-hacky way, so I&apos;m done.
		This could be the final version of <code>renew</code> until a new stable version of Minetest Game brings more items to add renewability to.
	</p>
	<p>
		I still need to write up the code for all this though.
		It&apos;s late and I&apos;ve got to get up in the morning.
		This&apos;ll have to wait for another day.
	</p>
</section>
<section id="work">
	<h2>Work</h2>
	<p>
		The boss was needlessly being a jerk again today.
		I really do need to get out of there.
		The funny thing is that nearly everyone that&apos;s been there thinks the head manager is a jerk, but most of the time, I&apos;m oblivious to it myself.
		He just usually can&apos;t get under my skin so easily.
		A number of factors are likely making me more receptive to it than usual though; some good, some bad.
		And as far as I can predict, none of the likely factors are going away any time soon.
		I need somewhere I can be happier.
		I guess ... I&apos;d rather have the Minequest Modpack done than have a new job.
		I&apos;ve wanted <code>minequest</code> for ages, and the fact that it&apos;s been broken into several mods doesn&apos;t change that.
		I&apos;ll probably get to job-hunting if there&apos;s time after I have the stuff I know to do in the code done.
		I&apos;ll hit creative block at some point, and that&apos;s when I&apos;ll job hunt if school isn&apos;t taking too much of my energy.
	</p>
</section>
END
);
